home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The PC-SIG Library 10
/
The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso
/
PC_SIGCD
/
26
/
3
/
DISK2638.ZIP
/
MENUS.EXE
/
MARXREAD.ME
< prev
next >
Wrap
Text File
|
1991-04-22
|
12KB
|
415 lines
Version 2.21
I've rewritten the windows manager. I switched from the from the TPRO
library to the OPRO library. This gives me several more display
related functions. But as any major change, there may be some bugs so
don't throw your old MarxMenu away on this version. I've also switched
to Turbo Pascal 6.
I've been updating the manual and the manual that come with this
program is more up to date than our printed manuals. So print
MARXMENU.DOC and use it.
New Features:
ResizeWindow
HeaderLeft
HeaderRight
Footer
FooterLeft
FooterRight
InactiveBox
InactiveBoxColor
CurrentWindow
SetTopWindow
DvPifExecute
DvAppNumber
CustomBox
These commands are explained in the manual.
===============================================================
Version 2.22
I've rewritten the INST.MNU to produce a new kind of MARX.BAT file
which is much more flexable than the old one. Run MARXMENU INST to
create new files.
===============================================================
Version 2.23
Dealing with multiple dos shells:
If you are running more than one COMMAND.COM (Shelling from Windows,
DesqView, Word Perfect Office) and having environment space problems
here's a trick. Before you load up your fancy shells, put this in a
batch file like your AUTOEXEC.BAT.
SET MXCMD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This variable will be trashed by MarxMenu and will not only allow
MarxMenu to run but may solve problems with other programs you are
running as well.
New Features:
MarxVersion
ReleaseDate
Cursor (On/Off)
ForceExplosion (On/Off)
BatchFileName
PrinterName
OpenPrinter
ClosePrinter
ShadowPosition
Reboot
DesqView Features:
DvKillTask
DvFreeze
DvUnFreeze
DvLastHandle
DvMyHandle
DvSetTop
DvSetBottom
DvHide
DvUnHide
DvFrame (On/Off)
DvMoveWindow
DvResizeWindow
===============================================================
Version 2.24
Added data scrambling to the MRX files making it harder for anyone to
look for things they aren't supposed to see.
I've made another modification to the MARX.BAT file. It no longer
requires the second parameter specifying the path for the temporary
batch file. If it is omitted, the directory containing MARXMENU.EXE is
assumed. MarxMenu will also read the environment variable TEMP for the
directory of temporary batch files. the TEMP path is used in windows and
DOS 5 has declared it the official path for temporary files.
Pathing through the TEMP path is not required.
New Commands:
Extension (String) : String
NamePart (String) : String
PathPart (String) : String
FilePart (String) : String
LogoffTime
MarxMenu supports automatic logoff after a number of minutes of
inactivity set by LogoffTime. This only has effect while you are in the
menu and not while an application is running. It is set as follows:
LogoffTime = 5 ;sets time to 5 minutes
Setting LogoffTime to 0 disbles this feature.
When the time to logoff occurs, MarxMenu will first look for a batch
file in the \LOGIN directory called OFF.BAT. If it doesn't find it,
MarxMenu will look for OFF.BAT on the PATH. If this isn't found,
MarxMenu will look for LOGOFF.EXE. If this isn't found, then MarxMenu
will look for LOGOUT.COM.
LOGOFF.EXE and LOGOUT.COM are executed by stuffing the keyboard buffer.
The best way to use this feature is to create an OFF.BAT file in your
\LOGIN directory or on the PATH.
===============================================================
Version 2.25
Logoff
Logoff logs you off the network the same way that LogoffTime does except
it does it immediately.
NovChangePassword (OldPassword,NewPassword)
Changes the novell users password.
UseNovPassword : Boolean
If UseNovPassword is set to true then the screen blanker will require
that the user type his Novell password to unblank the screen. Full
Novell security and intruder detection is active here. If Novell's
intruder detection is active, then if an intruder fials to type in the
password after a number of attempts, then Netware will not accept the
correct password until intruder detection allows it.
If you don't know what intruder detection is, read the Netware manuals
on the subject. It is something you should use.
NovAttach (Server)
NovAttach is used to create a software link between you and a server,
usually a second server. It must be followed by a NovLogin command to
log you into the server.
NovDetach (Server)
This is used to drop the connection to a server.
NovUsers (Array)
Fills array with list of all users.
NovUsersLoggedIn (Array)
Fills array with list of all users that are currently logged in.
NovGroups (Array)
Fills array with list of all groups.
NovPrintQueues (Array)
Fills array with list of all print Queues.
MachineName : String
This reads or sets the MachineName for NetBios networks.
Example:
MachineName = IBM ;sets the MachineName
Writeln MachineName ;displays the MachineName
EraseWindow (Number)
Erases a window by number. This allows you to erase a window that is not
the top window.
The following routines have been enhanced.
CapsLock
NumLock
ScrollLock
New Feature:
PrintScreen (On/Off) ;turns the Print Screen function on and off
Blink : Boolean
Blink is a boolean variable that when set to true allows you to specify
colors that will blink. To make a color that blinks, set the background
color to a bright color. A bright color is a color from 8 to 15.
Normally, when Blink is off, MarxMenu strips the high bit of the colors.
When Blink is on, high bit stripping is disabled.
Example:
Blink
TextColor Green LRed
Because the background color is light red, the text will blink.
Warning: Blinking characters can cause headaches and eye strain. I
resisted adding this feature for a long time because I personally hate
excessive blinking characters on the screen. I now recognize that
blinking can be very effective when used correctly. Please use blinking
sparingly.
SortArray (Array)
SortArray will do an alphabetical sort on an array of strings.
Example: Sort a Text File
Usage: DIR|MARXMENU SORT|MORE
MARXMENU SORT INFILE OUTFILE
var SortBuf
ClearScreenOnExit Off
ReadTextFile (ParamStr(2),SortBuf)
SortArray(SortBuf)
WriteTextFile (ParamStr(3),SortBuf)
ApplicationMemory : Number
Returns the number of bytes of memory available to an application when
MarxMenu exits out to the MARX.BAT file. This is the actual amount of
ram available to your application.
===============================================================
Version 2.26
Got and update on my windows library so I'm bumping the version number.
I've also done considerable work on the novell translator menu.
04-08-91
Added a new module dealing with time and dates. Dates are stored as 32
bit positive numbers which represent the number of seconds since
01-01-1980. This gives a range of about 68 years.
By storing dates as number of seconds since a date, you can calculate
the difference between to dates in seconds by subtracting them. To
change the result to minutes you divide by 60. To change to hours,
divide by 3600.
New Commands:
Now : Date
Returns the current moment as a date.
Today : Date
Returns the current day. Hour, Minute, and Second are set to 0.
YearOf (Date) : Number
Returns the year of a date. If Date is passed as a string it is
converted automatically.
MonthOf (Date) : Number
Returns the month of a date. If Date is passed as a string it is
converted automatically.
DayOf (Date) : Number
Returns the day of a date. If Date is passed as a string it is
converted automatically.
HourOf (Date) : Number
Returns the hour of a date. If Date is passed as a string it is
converted automatically.
MinuteOf (Date) : Number
Returns the minute of a date. If Date is passed as a string it is
converted automatically.
SecondOf (Date) : Number
Returns the second of a date. If Date is passed as a string it is
converted automatically.
DayOfWeekOf (Date) : Number
Returns the DayOfWeek of a date. If Date is passed as a string it is
converted automatically.
TimeOf (String) : Number
Converts a string representing a date to a date number.
Examples:
'4-7-91' ;04-07-1991 00:00:00
'April 7th, 1991 4:35pm' ;04-07-1991 16:35:00
'12:35:23a' ;04-07-1991 00:35:23
'3:15' ;04-07-1991 03:15:00
If the string can't be converted, then BadDate is set to true.
BadDate : Boolean
Set to true if you try to convert a string to a date and the date is
invalid.
SecondsInHour : Number
Returns 3600
SecondsInDay : number
Returns 86400
NovPasswordExpDate (UserName) : Date
Returns the Novell password expiration date. You must be logged in to be
able to read this.
Example:
DaysToExpire = NovPasswordExpDate(UserName) - Today / SecondsInDay
NovAccountExpDate (UserName) : Date
Returns the Novell account expiration date. You must be logged in to be
able to read this.
Example:
DaysToExpire = NovAccountExpDate(UserName) - Today / SecondsInDay
The LOGIN.MNU has been rewritten to incorporate the NovPasswordExpDate
featue.
IdelProgram : Procedure
IdelProgram is a variable that when set to the location of a procedure
allows the procedure to run while waiting at the keyboard. This is done
by writing a procedure that will run while waiting for input.
The way you use this is to set an internal variable named IdelProgram to
the Loc of the procedure you want to run as follows:
Example:
IdelProgram = Loc MyProcedure
Note: Do not use parentheses around MyProcedure.
When writing MyProcedure make it as short and quick as possible. As of
now, MyProcedure is called continously while there is no keyboard input.
You can also use a loop in it as follows.
Procedure MyProcedure
SetItUp
while not KBDReady
{do your thing}
endwhile
PutItBack
EndProc
MarxMenu doesn't automatically exit your procedure or save and restore
anything. If you're writing to the screen you have to put everything
back the way it was.
If you want to run a program at a specific time, here's how it can be
done:
Procedure MyProcedure
if Now = TimeOf('11:00pm')
Bat 'NIGHT' ;run NIGHT.BAT
ExitMenu
endif
if Now = TimeOf('5:00')
Bat 'MORNING' ;run MORNING.BAT
ExitMenu
endif
EndProc
I welcome your feedback on this new feature.
04-10-91
OverKey : String
When using UseArrows, OverKey returns the character that selects the
item that the inverse bar is over.
This can be used with IdelProgram to display context sensitive help as
you move the inverse bar over different selections.
SetWindowUnder (Window1,Window2)
This command moves Window1 underneath Window2. This can be used to put a
window back in the stack after you use SetTopWindow.
===============================================================
Version 2.27
4-16-91
Did a lot of internal reworking to better support background tasking and
made some improfements in the mouse and screen blanker logic. Also made
MarxMenu load a little faster and improved memory management.
In order to support background tasking better a few new variables have
been added.
KeyFromMouse : Boolean
Normally mouse activity is translated into keystrokes. This variable is
set to true if the keystroke came from the mouse.
Blanked : Boolean
Returns true if the screen blanker has kicked it. This lets you alter
your idel program based on if the screen blanker is active.
4-21-91
ViewArray (Array)
Allows you to view an array of strings in the current window. Works just
like ViewTextFile.
Memory access has been modified to write to memory locations as well as
read them. This is done as follows:
Mem($40,10) = 23
Port access has been modified the same way.